It may be desired, in a process of operating or maintaining an information processing system, to verify whether or not a computer and another computer have the equivalent function. For example, there may be a case of verifying, before replacing a currently used computer with a new computer, whether or not the function of the original computer is also realized in the new computer. In addition, for example, a degradation test may be performed before updating software of a computer, in which the software is experimentally updated on a computer for testing to check whether or not operation of another software varies due to influence of the update. In addition, for example, when any failure occurs in a computer for business operation, there may be a case of reproducing the failure on a computer for debugging to analyze a cause of the failure.
As a computer to be verified, a server is conceivable, which receives a request message from a client and transmits a response message to the client according to the request message. The client and the server may be a physical computer (also referred to as a physical machine), or may be a virtual computer (also referred to as a virtual machine). In this case, a black-box verification method, which uses messages transmitted between a server and a client in the past to verify another server, may be employed as the verification method.
For example, a verification apparatus obtains a request message transmitted from a client to a server in the past and a response message transmitted from the server to the client in the past. The verification apparatus transmits the obtained past request message to another server and receives, from the other server, a response message to the request message. The verification apparatus then determines whether or not a function equivalent to that of the original server is realized in the other server by comparing the response message received from the other server with the obtained past response message.
There is proposed a test apparatus which evaluates the relative performance of a standby server with respect to an active server by capturing packets transmitted to and from the active server and transferring the captured packets to the standby server. In addition, there is proposed a test platform apparatus for testing a Web application in which a parameter name in a Web page provided to a client varies for each access from the client. The test platform apparatus preliminarily stores a parameter definition rule which defines a parameter whose name varies. The test platform apparatus extracts from a Web page a parameter which complies with the parameter definition rule, and substitutes the name and the value of the extracted parameter with a predetermined name and a predetermined value, thereby enabling an automatic test tool operating on the client to process the Web page.
Japanese Patent Laid-open Patent Publication No. 2011-199680
Japanese Patent Laid-open Patent Publication No. 2010-113380
Meanwhile, when a server and another server operate according to a value of a parameter included in a request message, directly using a request message transmitted between a client and a server in the past may result in incorrect verification of another server.
For example, the client may transmit, to the server, a request message including a value of a parameter which depends on a session such as a session ID or authentication information. In such a case, in response to transmission of the past request message without change to the other server, the other server may regard the value of the parameter as an abnormal value related to a non-existent session and return an error to the client. In addition, for example, the client may transmit a request message including a value of a parameter which depends on a physical state of the server, such as the MAC (Media Access Control) address of the server. Also in such a case, in response to transmission of the past request message without change to the other server, the other server may determine the value of the parameter to be inappropriate and return an error to the client.
Therefore, it is conceivable, when using messages transmitted between a server and a client in the past, to rewrite at least a part of the values of parameters included in the message. However, there is a problem that preliminarily defining, by a user instructing verification, a parameter whose value is to be rewritten among parameters that may be included in the messages imposes a large burden on the user. This is because it is difficult to accurately define a parameter whose value is to be rewritten, unless the user knows the details of the software that performs message processing.